package com.fdb.efp.limit.service.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.fdb.efp.limit.service.domain.LmtAdjustApp;
import com.fdb.efp.limit.service.vo.LmtAdjustAppVO;

/**
 * <p>
 * 额度调整申请表的DAO类
 * </p>
 * @author szbd
 * @createDate 2018-09-18 17:36:42
 */
public interface LmtAdjustAppDao {
    
    /**
     * 插入额度调整申请表记录
     * @param lmtAdjustApp
     * @return
     */
    public int insertLmtAdjustApp(LmtAdjustApp lmtAdjustApp);
    
    /**
     * 根据主键删除额度调整申请表记录
     * @param lmtAdjustApp
     * @return
     */
    public int deleteLmtAdjustAppByPk(LmtAdjustApp lmtAdjustApp);
    
    /**
     * 根据主键更新额度调整申请表记录
     * @param lmtAdjustApp
     * @return
     */
    public int updateLmtAdjustAppByPk(LmtAdjustApp lmtAdjustApp);
    
    /**
     * 根据主键查询额度调整申请表记录
     * @param lmtAdjustApp
     * @return
     */
    public LmtAdjustApp queryLmtAdjustAppByPk(LmtAdjustApp lmtAdjustApp);
    
    /**
     * 条件查询单笔额度调整申请表记录
     * @param lmtAdjustApp
     * @return
     */
    public LmtAdjustApp querySingleLmtAdjustAppByCondition(LmtAdjustApp lmtAdjustApp);
    
    /**
     * 查询额度调整申请表记录
     * @param lmtAdjustApp
     * @return
     */
    public List<LmtAdjustApp> queryLmtAdjustAppByCondition(LmtAdjustAppVO lmtAdjustAppVo);
    
    /**
     * 条件分页查询额度调整申请表记录
     * @param lmtAdjustApp
     * @return
     */
    public List<LmtAdjustApp> queryLmtAdjustAppByConditionByPage(LmtAdjustAppVO lmtAdjustAppVo);
    
    /**
     * 查询本人所属的记录
     * @param lmtAdjustAppVo
     * @return
     */
    public List<LmtAdjustApp> queryAllOwnerByPage(LmtAdjustAppVO lmtAdjustAppVo);
    
    /**
     * 查询本机构的记录
     * @param lmtAdjustAppVo
     * @return
     */
    public List<LmtAdjustApp> queryAllCurrOrgByPage(LmtAdjustAppVO lmtAdjustAppVo);
    
    /**
     * 查询本机构及下属机构的记录
     * @param lmtAdjustAppVo
     * @return
     */
    public List<LmtAdjustApp> queryAllCurrDownOrgByPage(LmtAdjustAppVO lmtAdjustAppVo);
    
    /**
     * 根据授信申请流水号查询最新一笔提额申请
     * @param lmtSerno
     * @return
     */
    public LmtAdjustApp queryLastestRecordByLmtSerno(@Param("lmtSerno") String lmtSerno);

    /**
     * 根据查询条件，查询当前总数
     * @param lmtAdjustAppVo 查询条件
     * @return 记录总数
     */
    int queryCountByCondition(LmtAdjustAppVO lmtAdjustAppVo);
}